﻿using BS_Gimnasio.General;
using DS_Gimnasio;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Linq;
using System.Data.SqlClient;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using System.Transactions;

namespace BS_Gimnasio.Seguridad
{
    public class cls_Bitacora : cls_Base
    {
        private string _idLogin;
        private int _usuario;
        private DateTime _fechaInicial;
        private DateTime _fechaFinal;
        
        [DataMember()]
        public DateTime FechaFinal
        {
            get { return _fechaFinal; }
            set { _fechaFinal = value; }
        }

        [DataMember()]
        public DateTime FechaInicial
        {
            get { return _fechaInicial; }
            set { _fechaInicial = value; }
        }
        
        [DataMember()]
        public int Usuario
        {
            get { return _usuario; }
            set { _usuario = value; }
        }

        [DataMember()]
        public string IdLogin
        {
            get { return _idLogin; }
            set { _idLogin = value; }
        }

        #region Metodos Heredados

        public override DataTable Listar(int opcion)
        {
            try
            {
                DataTable dt = new DataTable();

                using (dtacls_GimnasioDataContext db = new dtacls_GimnasioDataContext())
                {
                    if (opcion == 1)
                    {
                        ISingleResult<SP_Seleccionar_Datos_BitacoraResult> resultado = db.SP_Seleccionar_Datos_Bitacora(IdUsuarioInicioSeccion, Usuario, FechaInicial, FechaFinal);
                        dt = cls_Adaptador.ToDataTable(resultado.ToList());
                    }
                }

                return dt;
            }

            catch (SqlException ex)
            {
                NumeroError = ex.ErrorCode;
                MensajeError = ex.Message;

                return null;
            }

            catch (Exception e)
            {
                MensajeError = e.Message;

                return null;
            }
        }


        #endregion

        public override void InsertarActualizarRegistro(bool tipoOperacion, ref string mensajeError)
        {
            throw new NotImplementedException();
        }

        public override cls_Base TraerObjeto()
        {
            throw new NotImplementedException();
        }

        public override bool EliminarRegistro(ref string mensajeError)
        {
            throw new NotImplementedException();
        }
    }
}
